


#ifndef PF_BLOCKLISTLISTENER_H
#define PF_BLOCKLISTLISTENER_H

#include "pf_block.h"
#include "lx_Export.h"
/**
 * This class is an interface for classes that are interested in
 * knowing about changes in the block list. 
 */
class LX_EXPORT PF_BlockListObserver {
public:
    PF_BlockListObserver() {}
    virtual ~PF_BlockListObserver() {}

    /**
     * Called when the active block changes.
     */
    virtual void blockActivated(PF_Block*) {}

    /**
     * Called when a new block is added to the list.
     */
    virtual void blockAdded(PF_Block*) {}

    /**
     * Called when a block is removed from the list.
     */
    virtual void blockRemoved(PF_Block*) {}

    /**
     * Called when a block's attributes are modified.
     */
    virtual void blockEdited(PF_Block*) {}

    /**
     * Called when a block's visibility is toggled. 
     */
    virtual void blockToggled(PF_Block*) {}
}
;

#endif
